Preparations for visualization
Sentimental Analysis

LS0tCnRpdGxlOiAiV2hhdCdzIGJlaGluZCBzb25nIGx5cmljcz8iCm91dHB1dDogaHRtbF9ub3RlYm9vawotLS0KCmBgYHtyIGVjaG89RkFMU0UsIG1lc3NhZ2U9RkFMU0V9CiMjIGxpYnJhcnkgcGFja2FnZXMKbGlicmFyeShkcGx5cikKbGlicmFyeShnZ3Bsb3QyKQpsaWJyYXJ5KHRtKQpsaWJyYXJ5KHdvcmRjbG91ZDIpCmxpYnJhcnkoUkNvbG9yQnJld2VyKQpsaWJyYXJ5KHRpZHl0ZXh0KQpsaWJyYXJ5KHRpZHl2ZXJzZSkKbGlicmFyeShzeXV6aGV0KQpsaWJyYXJ5KHJlc2hhcGUyKQpsaWJyYXJ5KHdvcmRjbG91ZCkKYGBgCmBgYHtyIGVjaG89RkFMU0V9CiNsb2FkIHRoZSBkYXRhc2V0CmxvYWQoJy4uL291dHB1dC9wcm9jZXNzZWRfbHlyaWNzLlJEYXRhJykgCmBgYAojIyMgUHJlcGFyYXRpb25zIGZvciB2aXN1YWxpemF0aW9uCmBgYHtyfQpseXJpY3NfbGlzdCA8LSBjKCJGb2xrIiwgIlImQiIsICJFbGVjdHJvbmljIiwgIkphenoiLCAiSW5kaWUiLCAiQ291bnRyeSIsICJSb2NrIiwgIk1ldGFsIiwgIlBvcCIsICJIaXAtSG9wIiwgIk90aGVyIikKdGltZV9saXN0IDwtIGMoIjE5NzBzIiwgIjE5ODBzIiwgIjE5OTBzIiwgIjIwMDBzIiwgIjIwMTBzIikKY29ycHVzIDwtIFZDb3JwdXMoVmVjdG9yU291cmNlKGR0X2x5cmljcyRzdGVtbWVkd29yZHMpKQp3b3JkX3RpYmJsZSA8LSB0aWR5KGNvcnB1cykgJT4lCiAgc2VsZWN0KHRleHQpICU+JQogIG11dGF0ZShpZCA9IHJvd19udW1iZXIoKSkgJT4lCiAgdW5uZXN0X3Rva2Vucyh3b3JkLCB0ZXh0KQpgYGAKCiMjIyBTZW50aW1lbnRhbCBBbmFseXNpcwpgYGB7ciBlY2hvPUZBTFNFLCBlY2hvPUZBTFNFfQojSW4gdGhpcyBwYXJ0LCBJIHVzZWQgc2VudGltZW50YWwgYW5hbHlzaXMgdG8gc2VlIHRoZSBwb3NpdGl2ZS9uZWdhdGl2ZSBzZW50aW1lbnRzIGludm9sdmluZyBpbiBlYWNoIGtpbmQgb2YgZ2VucmVzLiAKbXlkYXRhPC1kdF9seXJpY3MKZGF0YS5mb2xrIDwtIG15ZGF0YVtteWRhdGEkZ2VucmUgPT0gIkZvbGsiLF0Kc2VudC5mb2xrIDwtIGdldF9ucmNfc2VudGltZW50KGFzLmNoYXJhY3RlcihkYXRhLmZvbGskc3RlbW1lZHdvcmRzKSkKc2VudC5mb2xrLm4gPC0gZGF0YS5mcmFtZSh0b3BpYyA9ICJGb2xrIiwgYXR0aXR1ZGUgPSByZXAoIm5lZ2F0aXZlIiwgc3VtKHNlbnQuZm9sa1ssIDldKSkpCnNlbnQuZm9say5wIDwtIGRhdGEuZnJhbWUodG9waWMgPSAiRm9sayIsIGF0dGl0dWRlID0gcmVwKCJwb3NpdGl2ZSIsIHN1bShzZW50LmZvbGtbLCAxMF0pKSkKc2VudC5mb2xrLm5wIDwtIHJiaW5kKHNlbnQuZm9say5uLCBzZW50LmZvbGsucCkKCmRhdGEucmIgPC0gbXlkYXRhW215ZGF0YSRnZW5yZSA9PSAiUiZCIixdCnNlbnQucmIgPC0gZ2V0X25yY19zZW50aW1lbnQoYXMuY2hhcmFjdGVyKGRhdGEucmIkc3RlbW1lZHdvcmRzKSkKc2VudC5yYi5uIDwtIGRhdGEuZnJhbWUodG9waWMgPSAiUiZCIiwgYXR0aXR1ZGUgPSByZXAoIm5lZ2F0aXZlIiwgc3VtKHNlbnQucmJbLCA5XSkpKQpzZW50LnJiLnAgPC0gZGF0YS5mcmFtZSh0b3BpYyA9ICJSJkIiLCBhdHRpdHVkZSA9IHJlcCgicG9zaXRpdmUiLCBzdW0oc2VudC5yYlssIDEwXSkpKQpzZW50LnJiLm5wIDwtIHJiaW5kKHNlbnQucmIubiwgc2VudC5yYi5wKQoKZGF0YS5lbGVjIDwtIG15ZGF0YVtteWRhdGEkZ2VucmUgPT0gIkVsZWN0cm9uaWMiLF0Kc2VudC5lbGVjIDwtIGdldF9ucmNfc2VudGltZW50KGFzLmNoYXJhY3RlcihkYXRhLmVsZWMkc3RlbW1lZHdvcmRzKSkKc2VudC5lbGVjLm4gPC0gZGF0YS5mcmFtZSh0b3BpYyA9ICJFbGVjdHJvbmljIiwgYXR0aXR1ZGUgPSByZXAoIm5lZ2F0aXZlIiwgc3VtKHNlbnQuZWxlY1ssIDldKSkpCnNlbnQuZWxlYy5wIDwtIGRhdGEuZnJhbWUodG9waWMgPSAiRWxlY3Ryb25pYyIsIGF0dGl0dWRlID0gcmVwKCJwb3NpdGl2ZSIsIHN1bShzZW50LmVsZWNbLCAxMF0pKSkKc2VudC5lbGVjLm5wIDwtIHJiaW5kKHNlbnQuZWxlYy5uLCBzZW50LmVsZWMucCkKCmRhdGEuamF6eiA8LSBteWRhdGFbbXlkYXRhJGdlbnJlID09ICJKYXp6IixdCnNlbnQuamF6eiA8LSBnZXRfbnJjX3NlbnRpbWVudChhcy5jaGFyYWN0ZXIoZGF0YS5qYXp6JHN0ZW1tZWR3b3JkcykpCnNlbnQuamF6ei5uIDwtIGRhdGEuZnJhbWUodG9waWMgPSAiSmF6eiIsIGF0dGl0dWRlID0gcmVwKCJuZWdhdGl2ZSIsIHN1bShzZW50LmphenpbLCA5XSkpKQpzZW50LmphenoucCA8LSBkYXRhLmZyYW1lKHRvcGljID0gIkphenoiLCBhdHRpdHVkZSA9IHJlcCgicG9zaXRpdmUiLCBzdW0oc2VudC5qYXp6WywgMTBdKSkpCnNlbnQuamF6ei5ucCA8LSByYmluZChzZW50Lmphenoubiwgc2VudC5qYXp6LnApCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojamF6eiBqb3kgYW5nZXIKIyBzZW50LmphenouYW4gPC0gZGF0YS5mcmFtZSh0b3BpYyA9ICJKYXp6IiwgYXR0aXR1ZGUgPSByZXAoImFuZ2VyIiwgc3VtKHNlbnQuamF6elssIDFdID49IDEpKSkKIyBzZW50LmphenouaiA8LSBkYXRhLmZyYW1lKHRvcGljID0gIkphenoiLCBhdHRpdHVkZSA9IHJlcCgiam95Iiwgc3VtKHNlbnQuamF6elssIDVdID49IDEpKSkKIyBzZW50LmphenouYWogPC0gcmJpbmQoc2VudC5qYXp6LmFuLCBzZW50LmphenouaikKIyAKIyAjbWV0YWwgam95IGFuZ2VyCiMgc2VudC5tZXRhbC5hbiA8LSBkYXRhLmZyYW1lKHRvcGljID0gIk1ldGFsIiwgYXR0aXR1ZGUgPSByZXAoImFuZ2VyIiwgc3VtKHNlbnQubWV0YWxbLCAxXSA+PSAxKSkpCiMgc2VudC5tZXRhbC5qIDwtIGRhdGEuZnJhbWUodG9waWMgPSAiTWV0YWwiLCBhdHRpdHVkZSA9IHJlcCgiam95Iiwgc3VtKHNlbnQubWV0YWxbLCA1XSA+PSAxKSkpCiMgc2VudC5tZXRhbC5haiA8LSByYmluZChzZW50Lm1ldGFsLmFuLCBzZW50Lm1ldGFsLmopCiMgdG9waWMuc2VudGltZW50MjwtcmJpbmQoc2VudC5qYXp6LmFqLHNlbnQubWV0YWwuYWopCiMgZ2dwbG90KHRvcGljLnNlbnRpbWVudDIsIGFlcyh4ID0gdG9waWMpKSArCiMgICBnZW9tX2JhcihhZXMoZmlsbCA9IGZhY3RvcihhdHRpdHVkZSkpLCBwb3NpdGlvbiA9ICJmaWxsIikKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpkYXRhLmluZGllIDwtIG15ZGF0YVtteWRhdGEkZ2VucmUgPT0gIkluZGllIixdCnNlbnQuaW5kaWUgPC0gZ2V0X25yY19zZW50aW1lbnQoYXMuY2hhcmFjdGVyKGRhdGEuaW5kaWUkc3RlbW1lZHdvcmRzKSkKc2VudC5pbmRpZS5uIDwtIGRhdGEuZnJhbWUodG9waWMgPSAiSW5kaWUiLCBhdHRpdHVkZSA9IHJlcCgibmVnYXRpdmUiLCBzdW0oc2VudC5pbmRpZVssIDldKSkpCnNlbnQuaW5kaWUucCA8LSBkYXRhLmZyYW1lKHRvcGljID0gIkluZGllIiwgYXR0aXR1ZGUgPSByZXAoInBvc2l0aXZlIiwgc3VtKHNlbnQuaW5kaWVbLCAxMF0pKSkKc2VudC5pbmRpZS5ucCA8LSByYmluZChzZW50LmluZGllLm4sIHNlbnQuaW5kaWUucCkKCmRhdGEuY291bnRyeSA8LSBteWRhdGFbbXlkYXRhJGdlbnJlID09ICJDb3VudHJ5IixdCnNlbnQuY291bnRyeSA8LSBnZXRfbnJjX3NlbnRpbWVudChhcy5jaGFyYWN0ZXIoZGF0YS5jb3VudHJ5JHN0ZW1tZWR3b3JkcykpCnNlbnQuY291bnRyeS5uIDwtIGRhdGEuZnJhbWUodG9waWMgPSAiQ291bnRyeSIsIGF0dGl0dWRlID0gcmVwKCJuZWdhdGl2ZSIsIHN1bShzZW50LmNvdW50cnlbLCA5XSkpKQpzZW50LmNvdW50cnkucCA8LSBkYXRhLmZyYW1lKHRvcGljID0gIkNvdW50cnkiLCBhdHRpdHVkZSA9IHJlcCgicG9zaXRpdmUiLCBzdW0oc2VudC5jb3VudHJ5WywgMTBdKSkpCnNlbnQuY291bnRyeS5ucCA8LSByYmluZChzZW50LmNvdW50cnkubiwgc2VudC5jb3VudHJ5LnApCgpkYXRhLnJvY2sgPC0gbXlkYXRhW215ZGF0YSRnZW5yZSA9PSAiUm9jayIsXQpzZW50LnJvY2sgPC0gZ2V0X25yY19zZW50aW1lbnQoYXMuY2hhcmFjdGVyKGRhdGEucm9jayRzdGVtbWVkd29yZHMpKQpzZW50LnJvY2subiA8LSBkYXRhLmZyYW1lKHRvcGljID0gIlJvY2siLCBhdHRpdHVkZSA9IHJlcCgibmVnYXRpdmUiLCBzdW0oc2VudC5yb2NrWywgOV0pKSkKc2VudC5yb2NrLnAgPC0gZGF0YS5mcmFtZSh0b3BpYyA9ICJSb2NrIiwgYXR0aXR1ZGUgPSByZXAoInBvc2l0aXZlIiwgc3VtKHNlbnQucm9ja1ssIDEwXSkpKQpzZW50LnJvY2subnAgPC0gcmJpbmQoc2VudC5yb2NrLm4sIHNlbnQucm9jay5wKQoKZGF0YS5tZXRhbCA8LSBteWRhdGFbbXlkYXRhJGdlbnJlID09ICJNZXRhbCIsXQpzZW50Lm1ldGFsIDwtIGdldF9ucmNfc2VudGltZW50KGFzLmNoYXJhY3RlcihkYXRhLm1ldGFsJHN0ZW1tZWR3b3JkcykpCnNlbnQubWV0YWwubiA8LSBkYXRhLmZyYW1lKHRvcGljID0gIk1ldGFsIiwgYXR0aXR1ZGUgPSByZXAoIm5lZ2F0aXZlIiwgc3VtKHNlbnQubWV0YWxbLCA5XSkpKQpzZW50Lm1ldGFsLnAgPC0gZGF0YS5mcmFtZSh0b3BpYyA9ICJNZXRhbCIsIGF0dGl0dWRlID0gcmVwKCJwb3NpdGl2ZSIsIHN1bShzZW50Lm1ldGFsWywgMTBdKSkpCnNlbnQubWV0YWwubnAgPC0gcmJpbmQoc2VudC5tZXRhbC5uLCBzZW50Lm1ldGFsLnApCgpkYXRhLnBvcCA8LSBteWRhdGFbbXlkYXRhJGdlbnJlID09ICJQb3AiLF0Kc2VudC5wb3AgPC0gZ2V0X25yY19zZW50aW1lbnQoYXMuY2hhcmFjdGVyKGRhdGEucG9wJHN0ZW1tZWR3b3JkcykpCnNlbnQucG9wLm4gPC0gZGF0YS5mcmFtZSh0b3BpYyA9ICJQb3AiLCBhdHRpdHVkZSA9IHJlcCgibmVnYXRpdmUiLCBzdW0oc2VudC5wb3BbLCA5XSkpKQpzZW50LnBvcC5wIDwtIGRhdGEuZnJhbWUodG9waWMgPSAiUG9wIiwgYXR0aXR1ZGUgPSByZXAoInBvc2l0aXZlIiwgc3VtKHNlbnQucG9wWywgMTBdKSkpCnNlbnQucG9wLm5wIDwtIHJiaW5kKHNlbnQucG9wLm4sIHNlbnQucG9wLnApCgpkYXRhLmhpcGhvcCA8LSBteWRhdGFbbXlkYXRhJGdlbnJlID09ICJIaXAtSG9wIixdCnNlbnQuaGlwaG9wIDwtIGdldF9ucmNfc2VudGltZW50KGFzLmNoYXJhY3RlcihkYXRhLmhpcGhvcCRzdGVtbWVkd29yZHMpKQpzZW50LmhpcGhvcC5uIDwtIGRhdGEuZnJhbWUodG9waWMgPSAiSGlwLUhvcCIsIGF0dGl0dWRlID0gcmVwKCJuZWdhdGl2ZSIsIHN1bShzZW50LmhpcGhvcFssIDldKSkpCnNlbnQuaGlwaG9wLnAgPC0gZGF0YS5mcmFtZSh0b3BpYyA9ICJIaXAtSG9wIiwgYXR0aXR1ZGUgPSByZXAoInBvc2l0aXZlIiwgc3VtKHNlbnQuaGlwaG9wWywgMTBdKSkpCnNlbnQuaGlwaG9wLm5wIDwtIHJiaW5kKHNlbnQuaGlwaG9wLm4sIHNlbnQuaGlwaG9wLnApCgpkYXRhLm90aGVyIDwtIG15ZGF0YVtteWRhdGEkZ2VucmUgPT0gIk90aGVyIixdCnNlbnQub3RoZXIgPC0gZ2V0X25yY19zZW50aW1lbnQoYXMuY2hhcmFjdGVyKGRhdGEub3RoZXIkc3RlbW1lZHdvcmRzKSkKc2VudC5vdGhlci5uIDwtIGRhdGEuZnJhbWUodG9waWMgPSAiT3RoZXIiLCBhdHRpdHVkZSA9IHJlcCgibmVnYXRpdmUiLCBzdW0oc2VudC5vdGhlclssIDldKSkpCnNlbnQub3RoZXIucCA8LSBkYXRhLmZyYW1lKHRvcGljID0gIk90aGVyIiwgYXR0aXR1ZGUgPSByZXAoInBvc2l0aXZlIiwgc3VtKHNlbnQub3RoZXJbLCAxMF0pKSkKc2VudC5vdGhlci5ucCA8LSByYmluZChzZW50Lm90aGVyLm4sIHNlbnQub3RoZXIucCkKCnRvcGljLnNlbnRpbWVudCA8LSByYmluZChzZW50LmZvbGsubnAsIHNlbnQucmIubnAsc2VudC5lbGVjLm5wLHNlbnQuamF6ei5ucCxzZW50LmluZGllLm5wLHNlbnQuY291bnRyeS5ucCxzZW50LnJvY2subnAsc2VudC5tZXRhbC5ucCxzZW50LnBvcC5ucCxzZW50LmhpcGhvcC5ucCxzZW50Lm90aGVyLm5wKQpnZ3Bsb3QodG9waWMuc2VudGltZW50LCBhZXMoeCA9IHRvcGljKSkgKwogIGdlb21fYmFyKGFlcyhmaWxsID0gZmFjdG9yKGF0dGl0dWRlKSksIHBvc2l0aW9uID0gImZpbGwiKQoKIyMgZmluZGluZzogaGlnaGVzdCByZWxhdGl2ZSBwZXJjZW50YWdlIG9mIHBvc2l0aXZlOiBqYXp6OyBoaWdoZXN0IHJlbGF0aXZlIHBlcmNlbnRhZ2Ugb2YgbmVnYXRpdmU6IG1ldGFsCmBgYAojIyMgd29yZCBmcmVxdWVuY3kgaW4gbWV0YWwgYW5kIGphenosIHdvcmRjbG91ZHMgb2YgdGhlbQpgYGB7ciB3YXJuaW5nPUZBTFNFLCBlY2hvPUZBTFNFLCBtZXNzYWdlPUZBTFNFfQpkYXRhKCJzdG9wX3dvcmRzIikKd29yZCA8LSBjKCJsb3QiLCAidG9kYXkiLCAibW9udGhzIiwgIm1vbnRoIiwgIndhbm5hIiwgIndvdWxkbnQiLCAid2FzbnQiLCAiaGEiLCAibmEiLCAib29oIiwgImRhIiwKICAgICAgICAiZ29ubmEiLCAiaW0iLCAiZG9udCIsICJhaW50IiwgIndvbnQiLCAieWVhaCIsICJsYSIsICJvaSIsICJuaWdnYSIsICJmdWNrIiwKICAgICAgICAgICJoZXkiLCAieWVhciIsICJ5ZWFycyIsICJsYXN0IiwgInBhc3QiLCAiZmVlbCIpCnN0b3Bfd29yZHMgPC0gYyhzdG9wX3dvcmRzJHdvcmQsIHdvcmQpCgojbWV0YWwKZG9jc19tZXRhbCA8LSBDb3JwdXMoVmVjdG9yU291cmNlKGRhdGEubWV0YWwpKQpkb2NzX21ldGFsIDwtIHRtX21hcChkb2NzX21ldGFsLCBzdHJpcFdoaXRlc3BhY2UpCmRvY3NfbWV0YWw8LSB0bV9tYXAoZG9jc19tZXRhbCwgY29udGVudF90cmFuc2Zvcm1lcih0b2xvd2VyKSkKZG9jc19tZXRhbDwtIHRtX21hcChkb2NzX21ldGFsLCByZW1vdmVXb3Jkcywgc3RvcHdvcmRzKCJlbmdsaXNoIikpCmRvY3NfbWV0YWw8LSB0bV9tYXAoZG9jc19tZXRhbCwgcmVtb3ZlV29yZHMsIHN0b3Bfd29yZHMpCmRvY3NfbWV0YWw8LSB0bV9tYXAoZG9jc19tZXRhbCwgcmVtb3ZlV29yZHMsIGNoYXJhY3RlcigwKSkKZG9jc19tZXRhbDwtIHRtX21hcChkb2NzX21ldGFsLCByZW1vdmVQdW5jdHVhdGlvbikKZHRtIDwtIFRlcm1Eb2N1bWVudE1hdHJpeChkb2NzX21ldGFsKQptIDwtIGFzLm1hdHJpeChkdG0pCnYgPC0gc29ydChyb3dTdW1zKG0pLGRlY3JlYXNpbmc9VFJVRSkKZCA8LSBkYXRhLmZyYW1lKHdvcmQgPSBuYW1lcyh2KSxmcmVxPXYpCmhlYWQoZCwgMTApCndvcmRjbG91ZCh3b3JkcyA9IGQkd29yZCwgZnJlcSA9IGQkZnJlcSwgbWluLmZyZXEgPSAxLAogICAgICAgICAgbWF4LndvcmRzPTEwMCwgcmFuZG9tLm9yZGVyPUZBTFNFLCByb3QucGVyPTAuMzUsIAogICAgICAgICAgY29sb3JzPWJyZXdlci5wYWwoOCwgIkRhcmsyIikpCgojamF6egpkb2NzX2phenogPC0gQ29ycHVzKFZlY3RvclNvdXJjZShkYXRhLmphenopKQpkb2NzX2phenogPC0gdG1fbWFwKGRvY3NfamF6eiwgc3RyaXBXaGl0ZXNwYWNlKQpkb2NzX2pheno8LSB0bV9tYXAoZG9jc19qYXp6LCBjb250ZW50X3RyYW5zZm9ybWVyKHRvbG93ZXIpKQpkb2NzX2pheno8LSB0bV9tYXAoZG9jc19qYXp6LCByZW1vdmVXb3Jkcywgc3RvcHdvcmRzKCJlbmdsaXNoIikpCmRvY3NfamF6ejwtIHRtX21hcChkb2NzX2phenosIHJlbW92ZVdvcmRzLCBzdG9wX3dvcmRzKQpkb2NzX2pheno8LSB0bV9tYXAoZG9jc19qYXp6LCByZW1vdmVXb3JkcywgY2hhcmFjdGVyKDApKQpkb2NzX2pheno8LSB0bV9tYXAoZG9jc19qYXp6LCByZW1vdmVQdW5jdHVhdGlvbikKZHRtMiA8LSBUZXJtRG9jdW1lbnRNYXRyaXgoZG9jc19qYXp6KQptMiA8LSBhcy5tYXRyaXgoZHRtMikKdjIgPC0gc29ydChyb3dTdW1zKG0yKSxkZWNyZWFzaW5nPVRSVUUpCmQyIDwtIGRhdGEuZnJhbWUod29yZCA9IG5hbWVzKHYyKSxmcmVxPXYyKQpoZWFkKGQyLCAxMCkKd29yZGNsb3VkKHdvcmRzID0gZDIkd29yZCwgZnJlcSA9IGQyJGZyZXEsIG1pbi5mcmVxID0gMSwKICAgICAgICAgIG1heC53b3Jkcz0xMDAsIHJhbmRvbS5vcmRlcj1GQUxTRSwgcm90LnBlcj0wLjM1LCAKICAgICAgICAgIGNvbG9ycz1icmV3ZXIucGFsKDgsICJEYXJrMiIpKQoKI3JvY2sKZG9jc19yb2NrIDwtIENvcnB1cyhWZWN0b3JTb3VyY2UoZGF0YS5yb2NrKSkKZG9jc19yb2NrIDwtIHRtX21hcChkb2NzX3JvY2ssIHN0cmlwV2hpdGVzcGFjZSkKZG9jc19yb2NrPC0gdG1fbWFwKGRvY3Nfcm9jaywgY29udGVudF90cmFuc2Zvcm1lcih0b2xvd2VyKSkKZG9jc19yb2NrPC0gdG1fbWFwKGRvY3Nfcm9jaywgcmVtb3ZlV29yZHMsIHN0b3B3b3JkcygiZW5nbGlzaCIpKQpkb2NzX3JvY2s8LSB0bV9tYXAoZG9jc19yb2NrLCByZW1vdmVXb3Jkcywgc3RvcF93b3JkcykKZG9jc19yb2NrPC0gdG1fbWFwKGRvY3Nfcm9jaywgcmVtb3ZlV29yZHMsIGNoYXJhY3RlcigwKSkKZG9jc19yb2NrPC0gdG1fbWFwKGRvY3Nfcm9jaywgcmVtb3ZlUHVuY3R1YXRpb24pCmR0bTMgPC0gVGVybURvY3VtZW50TWF0cml4KGRvY3Nfcm9jaykKbTMgPC0gYXMubWF0cml4KGR0bTMpCnYzIDwtIHNvcnQocm93U3VtcyhtMyksZGVjcmVhc2luZz1UUlVFKQpkMyA8LSBkYXRhLmZyYW1lKHdvcmQgPSBuYW1lcyh2MyksZnJlcT12MykKaGVhZChkMywxMCkKd29yZGNsb3VkKHdvcmRzID0gZDMkd29yZCwgZnJlcSA9IGQzJGZyZXEsIG1pbi5mcmVxID0gMSwKICAgICAgICAgIG1heC53b3Jkcz0xMDAsIHJhbmRvbS5vcmRlcj1GQUxTRSwgcm90LnBlcj0wLjM1LCAKICAgICAgICAgIGNvbG9ycz1icmV3ZXIucGFsKDgsICJEYXJrMiIpKQpgYGAKCmBgYHtyIGVjaG89RkFMU0V9Cmhpc3QoZGF0YS5tZXRhbCR5ZWFyKQpoaXN0KGRhdGEuamF6eiR5ZWFyKQpgYGAKYGBge3J9CiMgZGlmZmVyZW5jZXMgYmV0d2VlbiB5ZWFycwpkYXRhLjE5NzBzIDwtIG15ZGF0YVtteWRhdGEkeWVhcj49MTk3MCAmIG15ZGF0YSR5ZWFyPD0xOTc5LF0gJT4lIGRhdGEuZnJhbWUoLiwgc3RhdHVzID0gIjE5NzBzIikKZGF0YS4xOTgwcyA8LSBteWRhdGFbbXlkYXRhJHllYXI+PTE5ODAgJiBteWRhdGEkeWVhcjw9MTk4OSxdICU+JSBkYXRhLmZyYW1lKC4sIHN0YXR1cyA9ICIxOTgwcyIpCmRhdGEuMTk5MHMgPC0gbXlkYXRhW215ZGF0YSR5ZWFyPj0xOTkwICYgbXlkYXRhJHllYXI8PTE5OTksXSAlPiUgZGF0YS5mcmFtZSguLCBzdGF0dXMgPSAiMTk5MHMiKQpkYXRhLjIwMDBzIDwtIG15ZGF0YVtteWRhdGEkeWVhcj49MjAwMCAmIG15ZGF0YSR5ZWFyPD0yMDA5LF0gJT4lIGRhdGEuZnJhbWUoLiwgc3RhdHVzID0gIjIwMDBzIikKZGF0YS4yMDEwcyA8LSBteWRhdGFbbXlkYXRhJHllYXI+PTIwMTAgJiBteWRhdGEkeWVhcjw9MjAxOSxdICU+JSBkYXRhLmZyYW1lKC4sIHN0YXR1cyA9ICIyMDEwcyIpCmRhdGEueWVhcjwtcmJpbmQoZGF0YS4xOTcwcyxkYXRhLjE5ODBzLGRhdGEuMTk5MHMsZGF0YS4yMDAwcyxkYXRhLjIwMTBzKQpnZ3Bsb3QoZGF0YS55ZWFyLCBhZXMoeCA9IHN0YXR1cykpICsKICBnZW9tX2JhcihhZXMoZmlsbD1mYWN0b3IoZ2VucmUpKSwgcG9zaXRpb249ImZpbGwiKQoKYGBgCg==